import axios  from "axios"
import store from '@/store'
/* axios.create()方法的作用是用来创建一个全新的axios
   在实际开发中，一个项目可能需要多个服务器发送请求
*/
 const request = axios.create({
  baseURL:'http://toutiao.itheima.net'
 })

/* 
请求拦截器的特点，他就是一个函数
执行的时间；在每一个请求发送之前，都会执行这个请求拦截器函数
函数本身的参数： congif对象是axios传递的一个配置对象，config对象里面包含了
当前请求的相关信息（请求地址，请求方式，参数数据，请求信息）我们后来需要
传递的token也是添加到这个config对象中
请求拦截器函数不管做了任何处理，一定要返回config对象 return config
请求拦截器的使用场景：
不管在请求拦截器中做了任何的事情，都会影响到每一个请求
如果要对每一个请求做处理，就应该添加在请求拦截器中做处理
*/
request.interceptors.request.use(function(config){
//在请求拦截器函数中会有一个默认的形参config 中包含了所有的请求配置信息
   if(store.state.user){
      config.headers.Authorization = `Bearer ${store.state.user.token}`
   }
   return config
})
/*  const request = axios.create({
  baseURL:'http://geek.itheima.net'
 })  多个服务器请求*/

 export default request